package cn.tedu;

/**
 * 潜艇游戏第三天
 * 1 设计侦查潜艇数组、水雷潜艇数组、鱼雷潜艇数组、炸弹数组、水雷数组，并测试
 * 2 设计SeaObject超类，6个类继承它
 * 3 给SeaObject设计俩个构造方法，6个类分别调用
 * 4 将侦查潜艇数组、水雷潜艇数组、鱼雷潜艇数组合为SeaObject超类数组，并测试
 *
 * 为何超类设计俩个构造方法被派生类调用
 * 1 俩个参数的构造器是给潜艇使用的，因为三种潜艇的x/y/speed相同，所以只需要传宽和高即可
 * 2 5个参数的构造器是给战舰、炸弹、水雷使用的，因为这三种对象的x/y/speed/width/height都不一样
 * 所以需要传5个参数。
 *
 * 继承要符合is a（是一个）的关系
 * 1 继承不能乱用，不能仅仅为了复用代码就乱继承
 * 2 类间的关系有很多种，继承只是其中一种，还可以导入
 *
 * 能继承的是类中的普通方法和成员变量，而不包括构造方法
 * 1 超类的构造方法是被派生类通过supper来调用的
 *
 * 局部变量与成员变量
 * 1 局部变量在方法中
 * 2 成员变量在类中
 * 3 在类的构造器中给成员变量赋值，需要this.,不然就是再给局部变量赋值
 *
 * 给引用类型赋值，普通方法可以和构造方法同名
 *
 * 成员变量有默认值，局部变量没有默认值，所以局部变量在使用前，要先初始化，不能会有编译错误
 *
 *
 * @author XingHaiYang
 * @date 2022/9/23 9:11
 */
public class OODay03Evensong {


}
